<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
    自学 reduce 函数
    自己封装：
        sort  排序
        isArray  判断是不是数组
        push 在数组的末尾添加一个或多个元素，并返回数组的新长度
        pop 删除索引值最大的元素,并返回被删除的元素。
        reverse  数组的翻转
        join  分隔符
        indexOf  方法返回再数组中可以找到一个给定元素的第一个索引，如果不存在，则返回-1
        lastIndexOf  数组中的最后一个的索引，如果不存在则返回 -1。从数组的后面向前查找
        concat  合并数组或元素，返回新的数组,原数组不会改变
        slice  通过指定的开始和结束位置，提取数组的某个部分
        splice  方法可以通过指定的索引号和个数，提取数组的某个部分
        filter  过滤
        some   找到第一个满足条件的元素，则终止循环，
        every  方法必须所有都返回true才会返回true
*/
        // 1.sort  排序
        /* let arr =['张飞','网易云','QQ音乐','酷狗'];
       
        function sort(arr){ 
            let arr1= [];
            for(let i=arr.length-1;i>=0;i--){
              arr1[arr1.length]=arr[i];
        }

        console.log(arr1);
        }
        sort(arr); */

        // 2.isArray 
        /* function isArray(arr){
            let item =arr;
            console.log(item instanceof Array);
        }
        let arr={
            it:34,
        }
        isArray(arr); */

        // 3.push 
        function push1(arr) {

        }

        function push(arr1, arr1) {
           arr=arr1+arr2; 
            console.log(arr)
        }
        // 4.pop


        // 5.reverse 
        let arr = ['张飞', '网易云', 'QQ音乐', '酷狗'];

        function sort(arr) {
            let arr1 = [];
            for (let i = arr.length - 1; i >= 0; i--) {
                arr1[arr1.length] = arr[i];
            }

            console.log(arr1);
        }
        sort(arr);

        //6.join 

        // 7.indexOf
        function indexOf(arr, ele) {
            var index = -1;
            if (!(arr instanceof Array)) {
                return -1;
            }
            for (var i = 0; i < arr.length; i++) {
                if (ele == arr[i]) {
                    index = i;
                    break;
                }
            }
            return index;
        }
        console.log(indexOf(arr, "camel"));

        function indexOf(arr, ele) {
            var index = -1;
            if (!Array.isArray(arr)) {
                return -1;
            }
            for (var i = arr.length - 1; i >= 0; i--) {
                if (ele == arr[i]) {
                    index = i;
                    break;
                }
            }
            return index;
        }

        // 8.concat

        // 9.slice

        // 10.splice

        // 11.filter 

        // 12.some

        // 13.every
    </script>
</body>

</html>